package ren.kane.phoenix.some.regex;

/**
 * @author renrk(1275) on 2018-11-01 10:11 AM
 **/
public enum RegexEnum {

    // 编码，支持字母、数字、下划线、横杠、点，长度限24字符
    CODE("^[\\w-.]{1,24}$"),
    // 金额，10位整数，2位小数
    MONEY("^((\\d){1,10})|((\\d){1,10}.(\\d){1,2})$"),
    // 年份，yyyy
    YEAR("^\\d{4}$"),
    // 日期，yyyy-MM-dd
    DATE("^(\\d{4})-(0\\d|1[0-2])-(0\\d|[12]\\d|3[01])$"),
    // 密码，至少8位，包含大小写字母、数字和特殊字符
    PASSWORD("^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[`~!@#$%^&*()\\-_=+\\[\\]{}\\\\|;:'\",.<>/?])[0-9A-Za-z`~!@#$%^&*()\\-_=+\\[\\]{}\\\\|;:'\",.<>/?]{8,}$");

    private final String regex;

    RegexEnum(String regex) {
        this.regex = regex;
    }

    public String getRegex() {
        return regex;
    }
}
